package cc.lj.internal.core.model;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 自定义分页接口,需要使用分页的类可以继承该接口
 * @author liangxifeng
 * @date 2021-06-24
 */
public interface BasePageHelper<T> {
    /**
     * 分页查询
     *
     * @param param 请求参数PO
     * @return 分页集合
     */
    default PageInfo<T> page(PageParam<T> param) {
        return PageHelper.startPage(param).doSelectPageInfo(() -> list(param.getParam()));
    }
    /**
     * 集合查询
     *
     * @param param 查询参数
     * @return 查询响应
     */
    List<T> list(T param);
}
